# -*- coding: utf-8 -*-
"""
Created on Fri Aug 25 10:36:20 2023

@author: skunk69
"""

import json

chinese_name = u'惊恐障碍严重度量表'
english_name = 'Panic Disorder Severity Scale'
abbreviation = 'PDSS'
category = u'精神病学临床量表'

outline = u"""惊恐障碍简称惊恐症，是以反复出现显著的心悸、出汗、震颤等自主神经症状、伴以强烈的濒死感或失控感、害怕产生不幸后果的惊恐发作为特征的一种急性焦虑障碍。惊恐发作是一种焦虑症状，意味着出现了反复、突然的暴发性惊恐发作，伴随着各种身体和心理上的恐怖感受。
惊恐障碍严重程度表（Panic Disorder Severity Scale, PDSS），最初叫做MC-PAS，是由M.K.Shear等人编写的，发表于1997年。PDSS是专门用于评定惊恐障碍患者的症状严重程度的量表。"""

instruction = u""""""

with open('PDSS.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
rating = {}
for num,line in enumerate(lines[0::6]):
    _,value = line.strip().split('.',maxsplit=1)
    items[num+1] = value.strip()
    lines_rate = lines[num*6+1:(num+1)*6]
    rate = {}
    for line in lines_rate:
        k,v = line.strip().split('.',maxsplit=1)
        rate[k.strip()] = v.strip()   
    rating[num+1] = rate
    
reverse_items = []
scales = []
scales_items = []
factors = []
factors_scales = []
score_rules = list(range(5))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""PDSS是专门用于评定惊恐障碍患者的症状严重程度，需由经过培训的专业人员来评定。
评估时间范围一般为1个月，也可以自行规定，但每个项目的评定时间范围必须一致。
完成该量表需要10~15分钟的时间。"""

reliability = u"""作者Shear最初用于临床惊恐障碍患者的研究，获得具有良好的评定员间一致性（0.88），内部一致性略低（Cronbach α为0.65）。"""
validity = u"""原作者Shear于2001年再次对104位精神科门诊患者，其中包括54位依据DSM-IV标准诊断为惊恐患者，其余为非惊恐障碍患者，测评PDSS的信度和效度结果为：评定者之间的评分相关系数为0.71，Cronbach α为0.88。与BAI、ASI、FQ的相关系数分别为0.67、0.54和0.54。惊恐症患者的平均得分12.4±5.4，高于非惊恐症患者的平均得分6.1±6.0，两者有显著性差异。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""总分是7个条目的得分相加后的平均值，得分范围为0-4分。另一种计算总分的方法是7个条目的总和，但这种计算结果没有常模可供参考。
继原作者Shear通过ROC分析提出以粗分8分为界甄别是否惊恐障碍后，日本作者Yamamoto等提出分级划分法：轻度<10分，中度11~15分，重度>16分。而另一位日本作者Furukawa等进一步细分的划界分：不伴场所恐惧，总分≥14分为严重；伴场所恐惧，总分≥16分为严重。"""

applications = u"""PDSS已经是一个比较成熟的且世界范围内应用较普遍的惊恐障碍严重程度评估量表。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)